home *** CD-ROM | disk | FTP | other *** search
- * DATE 07/31/84 17:22
- * ADD2.PRG
- * this program will add tenant records to the current files
- SET INDEX TO
- SET COLON OFF
- SET INTENSITY ON
- STOR ' ' TO choice
- STOR ' ' TO blnks
- * set up screen for data entry
- *loop until finished adding records
- STOR baddr TO mbaddr
- STOR bcode TO mbcode
- STOR bupdate TO mbupdate
- SELE SECONDARY
- USE &dr.:tenant
- STOR t TO more
- STOR t TO first
- ERAS
- DO WHIL more
- IF first
- STOR 'Add Tenant Records' TO mode
- STOR 'Enter as many tenants as you want. When done, enter a blank for tenant' TO prompt1
- STOR "name and unit or control 'Q' to end session." TO prompt2
- @ 0,26 SAY mode
- @ 1, 0 SAY " -------------------------------------------------"
- @ 1,50 SAY "----------------------------"
- @ 3, 2 SAY "Tenant:"
- @ 3,53 SAY "Code:"
- @ 4, 4 SAY "Unit:"
- @ 4,26 SAY "Building:"
- @ 5, 1 SAY "Contact:"
- @ 5,52 SAY "Phone:"
- @ 6,09 SAY "Alternate mailing address:"
- @ 7,01 SAY "Address:"
- @ 8,01 SAY "City:"
- @ 10, 4 SAY "Type:"
- @ 10,19 SAY "Addl Percentage:"
- @ 10,48 SAY "1st Lease:"
- @ 11,04 SAY "Base:"
- @ 11,47 SAY "Expiration:"
- @ 12, 0 SAY "Security:"
- @ 12,30 SAY "Bank:"
- @ 12,48 SAY "Late Date:"
- @ 13, 4 SAY "Rent:"
- @ 13,25 SAY "Late Chgs:"
- @ 13,48 SAY "Addl Rent:"
- @ 14, 3 SAY "G & E:"
- @ 14,24 SAY "Other Chgs:"
- @ 15, 0 SAY "Rent Due:"
- @ 15,22 SAY "Last Payment:"
- @ 15,49 SAY "Amt Paid:"
- @ 16,00 SAY "Total Yr:"
- @ 16,30 SAY "Flag:"
- @ 16,52 SAY "Total:"
- @ 18, 3 SAY "Notes:"
- @ 18,51 SAY "Update:"
- @ 19, 0 SAY " -------------------------------------------------"
- @ 19,50 SAY "-----------------------------"
- ENDI first
- STOR f TO first
- STOR $(blnks,1,35) TO mtenant
- STOR $(blnks,1,3) TO mtcode
- STOR $(blnks,1,5) to mtunit
- STOR 'R' TO mttype
- STOR $(blnks,1,25) TO mtcontac
- STOR $(blnks,1,13) TO mtphone
- STOR 'N' TO malt
- STOR $(blnks,1,35) TO maltad
- STOR $(blnks,1,35) TO maltcty
- STOR $(blnks,1,8) TO mtexpir
- STOR $(blnks,1,8) TO mtfirst
- STOR 0 TO mtsec
- STOR $(blnks,1,4) TO mtsecb
- STOR $(blnks,1,2) TO mtlate
- STOR 0 TO mtrent
- STOR 0.0000 TO mtrentpc
- STOR 0 TO mtrenpcr
- STOR 0 TO mtlatec
- STOR 0 TO mtaddl
- STOR 0 TO mtrente
- STOR 0 TO mtrentm
- STOR 0 TO mtrentd
- STOR $(blnks,1,8) TO mtrentpd
- STOR 0 TO mtrentp
- STOR 0 TO mtrenty
- STOR 0 TO mtrentt
- STOR $(blnks,1,8) TO mtflag
- STOR $(blnks,1,35) TO mtnotes
- STOR mbupdate TO mtupdate
- * setup gets to read data
- @ 3,10 GET mtenant
- @ 3,59 SAY mbcode
- @ 3,61 GET mtcode PICTURE '999'
- @ 4,10 GET mtunit
- @ 4,36 SAY mbaddr
- @ 5,10 GET mtcontac
- @ 5,59 GET mtphone PICTURE '(999)999-9999'
- @ 6,36 GET malt PICTURE '!'
- @ 7,10 GET maltad
- @ 8,10 GET maltcty
- @ 10,10 GET mttype PICTURE '!'
- @ 10,36 GET mtrentpc
- @ 10,59 GET mtfirst PICTURE '99/99/99'
- @ 11,10 GET mtrenpcr
- @ 11,59 GET mtexpir PICTURE '99/99/99'
- @ 12,10 GET mtsec
- @ 12,36 GET mtsecb
- @ 12,59 GET mtlate PICTURE '99'
- @ 13,10 GET mtrent
- @ 13,36 GET mtlatec
- @ 13,59 GET mtaddl
- @ 14,10 GET mtrente
- @ 14,36 GET mtrentm
- @ 15,10 GET mtrentd
- @ 15,36 GET mtrentp PICTURE '99/99/99'
- @ 15,59 GET mtrentp
- @ 16,10 GET mtrenty
- @ 16,36 GET mtflag PICTURE '99/99/99'
- @ 16,59 GET mtrentt
- @ 18,10 GET mtnotes
- @ 18,61 GET mtupdate PICTURE '99/99/99'
- @ 20,00
- @ 21,00
- @ 22,00
- @ 20, 7 SAY prompt1
- @ 21, 7 SAY prompt2
- READ
- CLEA GETS
- * test if there is a bad field validation
- IF mtenant <> ' '
- * validation
- DO CASE
- CASE mtcode = ' '
- STOR t TO error
- CASE .NOT.(malt = 'Y' .OR. malt = 'N')
- STOR t TO error
- CASE .NOT.(mttype = 'R'.OR.mttype='P'.OR. mttype='O')
- STOR t TO error
- CASE (mttype = 'P'.OR. mttype = 'O') .AND.(.NOT.(mtrentpc >0.AND. mtrenpcr >0))
- STOR t TO error
- OTHE
- STOR f TO error
- ENDC
- * if test for error was true then fix the fields that need fixing
- IF error
- * erase the lines to be used for prompts
- @ 00,00
- @ 20,00
- @ 21,00
- @ 22,00
- * tell them to correct it
- @ 0,18 SAY 'Please Correct the Indicated Data'
- * keep looping until all fields are fixed
- STOR t to an:error
- DO WHIL an:error
- DO CASE
- CASE mtcode = ' '
- @ 20,00
- @ 20,15 SAY 'Must have a tenant code '
- @ 03,61 GET mtcode PICTURE '999'
- READ
- CASE .NOT.(malt = 'Y' .OR. malt = 'N')
- @ 20,00
- @ 20,15 SAY "Must answer 'Y' or 'N' to alternate address"
- @ 06,36 GET malt PICTURE '!'
- READ
- CASE .NOT.(mttype = 'R'.OR.mttype='P'.OR. mttype='O')
- @ 20,00
- @ 21,00
- @ 20,05 SAY "Type must be 'R' for Regular, 'P' for Percentage which uses the higher of"
- @ 21,05 SAY "the percentage or the base rent or 'O' for Overage plus base rent"
- @ 10,10 GET mttype PICTURE '!'
- READ
- CASE (mttype = 'P'.OR. mttype = 'O').AND.(.NOT.(mtrentpc>0.AND. mtrenpcr> 0))
- @ 20,00
- @ 21,00
- @ 20,05 SAY 'If a percentage or overage lease, you must state the percentage'
- @ 21,05 SAY 'AND the base for calculating the percentage rent'
- @ 10,36 GET mtrentpc
- @ 11,10 GET mtrenpcr
- READ
- OTHE
- STOR f TO an:error
- ENDC
- ENDD while an:error
- ENDI error
- * give them another chance
- SET COLON ON
- STOR 'N' TO command
- @ 20,00
- @ 21,00
- @ 22,00
- @ 20,15 SAY 'Are there any more changes ? '
- @ 20,48 GET command picture '!'
- READ
- SET COLON OFF
- IF command = 'Y'
- @ 0,00
- @ 0,26 SAY mode
- @ 3,10 GET mtenant
- @ 3,59 SAY mbcode
- @ 3,61 GET mtcode PICTURE '999'
- @ 4,10 GET mtunit
- @ 4,36 SAY mbaddr
- @ 5,10 GET mtcontac
- @ 5,59 GET mtphone PICTURE '(999)999-9999'
- @ 6,36 GET malt PICTURE '!'
- @ 7,10 GET maltad
- @ 8,10 GET maltcty
- @ 10,10 GET mttype PICTURE '!'
- @ 10,36 GET mtrentpc
- @ 10,59 GET mtfirst PICTURE '99/99/99'
- @ 11,10 GET mtrenpcr
- @ 11,59 GET mtexpir PICTURE '99/99/99'
- @ 12,10 GET mtsec
- @ 12,36 GET mtsecb
- @ 12,59 GET mtlate PICTURE '99'
- @ 13,10 GET mtrent
- @ 13,36 GET mtlatec
- @ 13,59 GET mtaddl
- @ 14,10 GET mtrente
- @ 14,36 GET mtrentm
- @ 15,10 GET mtrentd
- @ 15,36 GET mtrentp PICTURE '99/99/99'
- @ 15,59 GET mtrentp
- @ 16,10 GET mtrenty
- @ 16,36 GET mtflag PICTURE '99/99/99'
- @ 16,59 GET mtrentt
- @ 18,10 GET mtnotes
- @ 18,61 GET mtupdate PICTURE '99/99/99'
- @ 20,00
- @ 21,00
- @ 22,00
- * let user enter data
- READ
- CLEA GETS
- ENDI command = 'Y'
- * put data in file
- APPE BLANK
- STOR mbcode + mtcode TO mbcod1
- REPL tenant WITH mtenant, bcode WITH mbcod1, tunit WITH mtunit
- REPL baddr WITH mbaddr, tcontac WITH mtcontac, tphone WITH mtphone
- REPL alt WITH malt, altad WITH maltad, altcty WITH maltcty
- REPL ttype WITH mttype, texpir WITH mtexpir
- REPL trentpc WITH mtrentpc, trentpcr WITH mtrenpcr
- REPL tfirst WITH mtfirst, tsec WITH mtsec, tsecb WITH mtsecb
- REPL tlate WITH mtlate, trent WITH mtrent, tlatec WITH mtlatec
- REPL taddl WITH mtaddl, trente WITH mtrente, trentm WITH mtrentm
- REPL trentd WITH mtrentd, trentpd WITH mtrentpd, trentp WITH mtrentp
- REPL trenty WITH mtrenty, trentt WITH mtrentt, tflag WITH mtflag
- REPL tnotes WITH mtnotes,tupdate WITH mtupdate
- STOR t TO more
- ELSE
- * get ready to stop the loop
- STOR f TO more
- ENDI mtenant <> ' '
- STOR t TO first
- ENDD WHILE more
- SET COLON ON
- STOR 'Y' TO command
- ERAS
- TEXT
-
- The newly added information is in the database - but will not
- show up on screen until the records are reindexed............
- and reindexing may take a few minutes.
-
- Moreover, if you want to add tenants to another building, you
- should not index until that is done.
-
- In any event, you can reindex at any time. There is an option
- to reindex on the Maintenance menu.
-
-
-
-
-
-
-
-
-
-
-
- ENDT
- @ 15,10 SAY "Do you wish to REINDEX now (Y/N) ?"
- @ 15,44 GET command PICTURE '!'
- READ
- CLEA GETS
- DO WHIL @(command, 'NY') = 0
- @ 15,10 SAY "Do you wish to REINDEX now ?"
- @ 15,44 GET command PICTURE '!'
- READ
- CLEA GETS
- ENDD
- DO CASE
- CASE command = 'Y'
- * restore original index and reindex
- * since it takes time, tell them
- ERAS
- @ 02,00 SAY 'Files are now being reindexed. '
- @ 03,00 SAY 'Please be patient as this will take a few minutes.'
- @ 04,00 SAY 'I will keep you posted as I go along'
- @ 05,00 SAY ' '
- *index transitional part in secondary database
- STOR chr(peek(063)) to dr
- SET ECHO ON
- SET TALK ON
- SELE SECONDARY
- USE &dr.:TENANT INDEX &dr.:codea
- INDE on bcode to &dr.:codea
- SET ECHO OFF
- SET TALK OFF
- STOR f TO more
- STOR t TO first
- STOR ' ' TO choice
- CASE command = 'N'
- STOR f TO more
- ENDC
- STOR chr(peek(063)) to dr
- SELE PRIMARY
- USE &dr.:build INDEX &dr.:code
- SET INTENSITY OFF
- STOR ' ' TO choice
- STOR t TO first